import { AppRouteModule, AppRouteRecordRaw } from "/@ts/router/types";

const routeComponents: AppRouteRecordRaw[] = [
  {
    path: "/Scalebox",
    name: "Scalebox",

    meta: {
      title: "Scalebox",
    },
    query: {},
    component: () => import("/@/components/Scalebox/index.vue"),
  },
  {
    path: "/GanttChart",
    name: "GanttChart",

    meta: {
      title: "甘特图",
      icon: "school",
    },
    component: () => import("/@/layouts/index.vue"),
    children: [
      {
        path: "vue-ganttastic",
        name: "vue-ganttastic",

        meta: {
          title: "vue-ganttastic",
        },
        query: {},
        component: () => import("/@/views/demo/vueGanttastic/index.vue"),
      },
      {
        path: "FrappeGantt",
        name: "FrappeGantt",

        meta: {
          title: "FrappeGantt",
        },
        query: {},
        component: () => import("/@/views/demo/frappe-gantt/index.vue"),
      },
    ]
  },
  {
    path: "/demo",
    name: "demo",

    meta: {
      title: "案例演示",
      icon: "school",
    },
    component: () => import("/@/layouts/index.vue"),
    children: [
      {
        path: "monaco-editor",
        name: "monaco-editor",

        meta: {
          title: "monaco-editor",
        },
        query: {},
        component: () => import("/@/components/monaco-editor/index.vue"),
      },
      {
        path: "onlyoffice",
        name: "onlyoffice文档",

        meta: {
          title: "onlyoffice文档",
        },
        query: {},
        component: () => import("/@/components/onlyoffice/index.vue"),
      },
      {
        path: "onlyoffice",
        name: "onlyoffice文档",

        meta: {
          title: "onlyoffice文档",
        },
        query: {},
        component: () => import("/@/components/onlyoffice/index.vue"),
      },

      {
        path: "docx",
        name: "DOCX文档",

        meta: {
          title: "DOCX文档",
        },
        query: {},
        component: () => import("/@/components/docx/index.vue"),
      },
      {
        path: "konvajs",
        name: "demokonvajs",

        meta: {
          title: "canvas 图标标注",
        },
        query: {},
        component: () => import("/@/components/konvajs/index2.vue"),
      },
      {
        path: "index2",
        name: "demokonvajs2",

        meta: {
          title: "konvajs图标标注",
        },
        query: {},
        component: () => import("/@/components/konvajs/index2.vue"),
      },
      {
        path: "AntVG6",
        name: "AntVG6",
        meta: {
          title: "流程图AntV G6",
        },
        component: () => import("/@/components/antvG6/index.vue"),
      },
      {
        path: "AntVX6",
        name: "AntVX6",
        meta: {
          title: "流程图AntV X6",
        },
        component: () => import("/@/components/AntVX6/AntVX6.vue"),
      },
      {
          path:"gaode3D",
          name:"gaode3D",

          meta:{
              title:"3D 高德 地球",
          },
          component: () => import('/@/components/cesium/gaodeMaps.vue'),
      },
      {
          path:"BingMaps3D",
          name:"BingMaps",

          meta:{
              title:"3D BingMaps 地球",

          },
          component: () => import('/@/components/cesium/BingMaps.vue'),
      },
      {
        path: "mapDemo1",
        name: "mapDemo1",

        meta: {
          title: "中国地图事件统计",
        },
        component: () => import("/@/components/echarts/mapDemo1.vue"),
      },
      {
        path: "mapDemo2",
        name: "mapDemo2",

        meta: {
          title: "中国地图市场统计图",
        },
        component: () => import("/@/components/echarts/mapDemo2.vue"),
      },
    ],
  },
  {
    path: "/js",
    name: "js",

    meta: {
      title: "库",
      icon: "suitcase",
    },
    component: () => import("/@/layouts/index.vue"),
    children: [
      {
        path: "xlsxToJSON",
        name: "xlsxToJSON",
        meta: {
          title: "xlsx转JSON",
        },
        component: () => import("/@/views/component/xlsxToJSON.vue"),
      },
      {
        path: "jsonToXlsx",
        name: "jsonToXlsx",
        meta: {
          title: "json转Xlsx",
        },
        component: () => import("/@/views/component/jsonToXlsx.vue"),
      },
      {
        path: "cookie",
        name: "jsCookie",

        meta: {
          title: "jsCookie",
        },
        component: () => import("/@/views/component/jsCookie.vue"),
      },
    ],
  },
  {
    path: "/components",
    name: "components",
    component: () => import("/@/layouts/index.vue"),
    meta: {
      title: "组件库",
      icon: "grid",
    },
    children: [
      {
        path: "wangeditor",
        name: "wangeditorComponents",
        meta: {
          title: "wangeditor编辑器",
        },
        component: () => import("/@/views/component/wangeditor.vue"),
      },

      {
        path: "vditor",
        name: "vditorComponents",
        meta: {
          title: "Md 编辑器",
        },
        component: () => import("/@/views/component/vditor.vue"),
      },
      {
        path: "vueQr",

        name: "vueQrComponents",
        meta: {
          title: "二维码",
        },
        component: () => import("/@/views/component/vueQr.vue"),
      },
      {
        path: "bingMaps",
        name: "bingMapsComponents",

        meta: {
          title: "bingMaps地图",
        },
        component: () => import("/@/views/component/map/bingMaps.vue"),
      },
      {
        path: "AutoNaviMap",
        name: "AutoNaviMapComponents",

        meta: {
          title: "高德地图",
        },
        component: () => import("/@/views/component/map/AutoNaviMap.vue"),
      },
      {
        path: "SelectsArea",
        name: "SelectsAreaComponents",

        meta: {
          title: "区域选择器",
        },
        component: () => import("/@/views/component/SelectsArea.vue"),
      },
      {
        path: "vueCropper",
        name: "vueCropperComponents",
        meta: {
          title: "图片裁剪",
        },
        component: () => import("/@/views/component/vueCropper.vue"),
      },
    ],
  },
  {
    path: "/",
    component: () => import("/@/layouts/index.vue"),
    children: [
      {
        path: "data",
        name: "data",
        meta: {
          title: "数据库",
          icon: "dataBoard",
        },
        component: () => import("/@/views/component/datas.vue"),
      },
    ],
  },
  {
    path: "/",
    component: () => import("/@/layouts/index.vue"),
    children: [
      {
        path: "README",
        name: "README",
        meta: {
          title: "关于",
          icon: "avatar",
        },
        query: {
          id: 1,
        },
        component: () => import("/@/views/readme/readme.vue"),
      },
    ],
  },
];
const routeMenuList: AppRouteRecordRaw[] = [
  ...routeComponents,
  {
    path: "/system/dict-data",
    component: () => import("/@/layouts/index.vue"),
    hidden: true,
    // permissions: ['system:dict:list'],
    children: [
      {
        path: "index/:dictId(\\d+)",
        component: () => import("/@/views/system/dict/data.vue"),
        name: "Data",
        meta: { title: "字典数据" },
      },
    ],
  },
  {
    path: "/monitor/job-log",
    component: () => import("/@/layouts/index.vue"),
    hidden: true,
    // permissions: ['system:dict:list'],
    children: [
      {
        path: "index/:jobId(\\d+)",
        component: () => import("/@/views/monitor/job/log.vue"),
        name: "JobLog",
        meta: { title: "调度日志" },
      },
    ],
  },
  {
    path: "/system/role-auth",
    component: () => import("/@/layouts/index.vue"),
    hidden: true,
    // permissions: ['system:role:edit'],
    children: [
      {
        path: "user/:roleId(\\d+)",
        component: () => import("/@/views/system/role/authUser.vue"),
        name: "AuthUser",
        meta: { title: "分配用户" },
      },
    ],
  },
  {
    path: "/system/user-auth",
    component: () => import("/@/layouts/index.vue"),
    hidden: true,
    // permissions: ['system:role:edit'],
    children: [
      {
        path: "role/:userId(\\d+)",
        component: () => import("/@/views/system/user/authUser.vue"),
        name: "AuthRole",
        meta: { title: "分配角色" },
      },
    ],
  },
];
export default routeMenuList;
